package com.cq.hd.member.service;

import com.alibaba.fastjson.JSONObject;
import com.cq.hd.common.pagination.Page;
import com.cq.hd.member.api.dto.*;
import com.cq.hd.member.api.vo.*;
import com.cq.hd.member.po.TbMemberCardPo;
import com.baomidou.mybatisplus.extension.service.IService;

/**
 * <p>
 * 次卡表 服务类
 * </p>
 *
 * @author mYunYu
 * @since 2023-11-19
 */
public interface TbMemberCardService extends IService<TbMemberCardPo> {

    Page<MemberCardPageVo> pageMemberCard(MemberCardPageDto memberCardPageDto);

    Long saveMemberCard(MemberCardSaveDto memberCardSaveDto);

    Boolean updateMemberCard(MemberCardUpdateDto memberCardUpdateDto);

    Page<AppMemberCardPageVo> pageAppMemberCard(AppMemberCardPageDto appMemberCardPageDto);

    String createAppMemberCardOrder(AppMemberCardCreateDto appMemberCardCreateDto);

    AppMemberCardPayVo payAppMemberCardOrder(AppMemberCardPayDto appMemberCardPayDto);

    Boolean jsPayCallback(JSONObject dataObj);

    Boolean queryOrderPay(AppMemberCardPayQueryDto appMemberCardPayQueryDto);

    MemberCardPageVo detailById(Long id);

    BankPayRechargeVo bankPayAppMemberCardOrder(AdminBusinessMemberCardPayDto adminBusinessMemberCardPayDto);

    BankPayQueryVo queryBankPayOrder(BankPayQueryDto bankPayQueryDto);

    Boolean bankPayCallback(JSONObject dataObj);
}
